<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>await的基本用法</title>
</head>

<body>

</body>
<script>
    function demo(name) {
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve(name)
                console.log(name)
            }, 1000)
        })
    }
    demo('shane')

    async function demo2() {
        let name = await demo('jack')
        console.log('hello' + name)
    }
    demo2()

    /**
     * 执行过程
     * 首先调用了 demo2 函数
     * 遇到了 await，表示代码在这和暂停
     * 不在向下执行，等待 promise 对象执行完毕
     * 拿到了 promise 对象的状态，可能时 resolve 或者 reject 返回值再继续向下执行。
     */
</script>

</html>